package com.nit.lab.vote.service.basic;

import com.nit.lab.vote.dto.utils.OpResultDTO;
import com.nit.lab.vote.dto.basic.UserDTO;
import com.nit.lab.vote.dto.utils.TableReqDTO;
import com.nit.lab.vote.dto.utils.TableRspDTO;
import org.apache.catalina.User;

import java.util.List;

public interface UserService {

    /**
     * @Description: 批量导入用户信息
     * @Date: 2020/12/10
     */
    OpResultDTO addList(List<UserDTO> userDTOS) throws Exception;

    /**
     * @Description: 批量获取用户信息
     * @Date: 2020/12/10
     */
    OpResultDTO listAll() throws Exception;

    /**
     * @Description: 登录验证
     * @Author: SN
     * @Date: 2019/01/30 18:15
     */
    UserDTO loginCheck(String loginName) throws Exception;

    /**
     * @Description: 根据UserId获取用户信息
     * @Author: SN
     * @Date: 2019/01/30 18:15
     */
    UserDTO getByUserId(Long userId) throws Exception;

    /**
     * @Description: 批量获取评委信息
     * @Date: 2020/12/15
     */
    TableRspDTO listAllJudge(TableReqDTO tableReqDTO) throws Exception;

    /**
     * @Description: 新增评委
     * @Date: 2020/12/15
     */
    OpResultDTO addJudge(UserDTO userDTO) throws Exception;

    /**
     * @Description: 新增评委
     * @Date: 2020/12/15
     */
    OpResultDTO updateJudge(UserDTO userDTO) throws Exception;

    /**
     * @Description: 删除评委
     * @Date: 2020/12/15
     */
    OpResultDTO removeJudge(String userId) throws Exception;

    /**
     * @Description: 手机号重复验证
     * @Date: 2020/12/15
     */
    UserDTO phoneCheck(String phone) throws Exception;
}
